#!/bin/bash

# 应用所在目录
APP_DIR=/opt/aizuda

# 应用名称
APP_NAME=aizuda-boot-1.0.jar

#使用说明
usage() {
 echo "Usage: sh 脚本名.sh [start|stop|restart|status]"
 exit 1
}

# 检查程序是否在运行
is_exist() {
 pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `
 #如果不存在返回1，存在返回0
 if [ -z "${pid}" ]; then
  return 1
 else
  return 0
 fi
}

# 启动
start() {
 is_exist
 if [ $? -eq "0" ]; then
  echo "${APP_NAME} is already running. pid=${pid} ."
 else
  nohup java -jar $APP_DIR/$APP_NAME -Dfile.encoding=UTF-8 > $APP_DIR/$APP_NAME.file 2>&1 &
  echo "${APP_NAME} start success"
 fi
}

# 停止
stop() {
 is_exist
 if [ $? -eq "0" ]; then
  kill -9 $pid
 else
  echo "${APP_NAME} is not running"
 fi
}

# 输出运行状态
status() {
 is_exist
 if [ $? -eq "0" ]; then
  echo "${APP_NAME} is running. Pid is ${pid}"
 else
  echo "${APP_NAME} is not running."
 fi
}

# 重启
restart() {
 stop
 start
}

# 根据输入参数，选择执行对应方法，不输入则执行使用说明
case "$1" in
 "start")
 start
 ;;
 "stop")
 stop
 ;;
 "status")
 status
 ;;
 "restart")
 restart
 ;;
 *)
 usage
 ;;
esac
